// 待回款合同
var $unpaidContractListTable = $('#unpaidContractList');
//近期活动产品
var $recentActivityListTable = $('#recentActivityList');
//本日任务
var $todayTaskListTable = $('#todayTaskList');
//相关提醒
var $relatedRemindListTable = $('#relatedRemindList');

//防止表头与表格不对齐
$(window).resize(function () {
    $unpaidContractListTable.bootstrapTable('resetView');
    $recentActivityListTable.bootstrapTable('resetView');
    $todayTaskListTable.bootstrapTable('resetView');
    $relatedRemindListTable.bootstrapTable('resetView');
});


$(function () {
    let time = new Date()
    let year = time.getFullYear()
    let month = time.getMonth() + 1
    let date = time.getDate()
    if (month < 10) { month = '0' + month }
    if (date < 10) { date = '0' + date }
    let timestamp=year+"-"+month+"-"+date
    $("#timeScreen").val(timestamp)
    //初始化待回款合同
    unpaidContractListInit();
    //近期活动产品
    recentActivityListInit();
    //本日任务
    todayTaskListInit();
    //相关提醒
    relatedRemindListInit();

    //新增提醒日期
    // $('#remindDate').datepicker({
    //     language: "zh-CN",
    //     autoclose: true,
    //     clearBtn: true,
    //     todayHighlight: true,
    //     format: "yyyy-mm-dd",
    //     autoUpdateInput: false,
    // })

    $('#remindDate').datetimepicker({
        format: 'YYYY-MM-DD HH:mm',
        locale: moment.locale('zh-cn'),

    }).on('dp.hide',function (event){

        if($('#remindForm').data('bootstrapValidator')!=null){
            $('#remindForm').data('bootstrapValidator')
                .updateStatus('remindDate', 'NOT_VALIDATED',null)
                .validateField('remindDate');
        }

        // $('#remindForm').bootstrapValidator('revalidataFieId','remindDate')
    })





})

/**
 * 加载权限待回款合同列表
 */
function unpaidContractListInit() {
    $unpaidContractListTable.bootstrapTable('destroy');
    $unpaidContractListTable.bootstrapTable({
        classes: 'table table-hover table-noborder',
        url: '/customerContract/selectUnpaidContractList',
        method: 'GET',
        toolbar: '#toolbar',       // 工具按钮容器
        showColumns: false,         // 是否显示所有的列
        showRefresh: false,         // 是否显示刷新按钮
        pagination: false,                    // 是否显示分页
        paginationLoop : false,
        sortName: 'updateTm',
        sortOrder: "desc",                    // 排序方式*/
        pageNumber: 1,                       // 初始化加载第一页，默认第一页
        pageSize: 5,                        // 每页的记录行数
        queryParams: function (params) {
            var temp = {
                pageSize: params.limit,         // 每页数据量
                // offset: params.offset,       // sql语句起始索引
                pageIndex: (params.offset / params.limit) + 1,
                sort: params.sort,           // 排序的列名
                sortOrder: params.order,      // 排序方式'asc' 'desc'
                searchInfo: $.trim($('#searchInfo').val()),
                publicStatus: $('#status-select option:selected').val()
            };
            return temp;
        },                                   // 传递参数
        sidePagination: "client",            // 分页方式：client客户端分页，server服务端分页

        columns: [{
            field: 'id',
            title: '序号',
            formatter: function (value, row, index) {
                return index + 1;
            },
            width:20,
            rowStyle: {css: {'display': 'inline-block'}}

        }, {
            field: 'contractNumber',
            title: '合同编号',
        }, {
            field: 'contractTotalAmount',
            title: '合同总金额'
        }, {
            field: 'createTm',
            title: '合同创建时间',
        }
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords,
                    "page": result.totalPages,
                    "limit": 1
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function (data) {
        }
    });
}


/**
 * 查询近期活动产品列表
 */
function recentActivityListInit() {
    $recentActivityListTable.bootstrapTable('destroy');
    $recentActivityListTable.bootstrapTable({
        classes: 'table table-hover table-noborder',
        url: '/customerProductActivity/selectRecentActivityList',
        method: 'GET',
        toolbar: '#toolbar',       // 工具按钮容器
        showColumns: false,         // 是否显示所有的列
        showRefresh: false,         // 是否显示刷新按钮
        pagination: false,                    // 是否显示分页
        paginationLoop : false,
        sortName: 'updateTm',
        sortOrder: "desc",                    // 排序方式*/
        queryParams: function (params) {
            var temp = {
                pageSize: params.limit,         // 每页数据量
                // offset: params.offset,       // sql语句起始索引
                pageIndex: (params.offset / params.limit) + 1,
                sort: params.sort,           // 排序的列名
                sortOrder: params.order,      // 排序方式'asc' 'desc'
                searchInfo: $.trim($('#searchInfo').val()),
                publicStatus: $('#status-select option:selected').val()
            };
            return temp;
        },                                   // 传递参数
        sidePagination: "client",            // 分页方式：client客户端分页，server服务端分页
        pageNumber: 1,                       // 初始化加载第一页，默认第一页
        pageSize: 5,                        // 每页的记录行数
        columns: [{
            field: 'id',
            title: '序号',
            formatter: function (value, row, index) {
                return index + 1;
            },
            rowStyle: {css: {'display': 'inline-block'}}

        }, {
            field: 'productActivityName',
            title: '活动名称',
          //  width: '30%',
        }, {
            field: 'activityTime',
            formatter: function (value, row, index) {
                return row.activityPeriodValidityStart + " - " +  row.activityPeriodValidityEnd;
            },
            title: '活动起止时间'
        }
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords,
                    "page": result.totalPages,
                    "limit": 1
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function (data) {
        }
    });

}

function todayTaskListInit(){
    $todayTaskListTable.bootstrapTable('destroy');
    $todayTaskListTable.bootstrapTable({
        classes: 'table table-noborder table-hover',
        url: '/task/getTodayTask',
        method: 'get',
        //请求内容类型
        //contentType: "application/x-www-form-urlencoded",
        //数据类型
        //dataType: "json",
        //是否显示行间隔色
        striped: true,
        //是否启用排序
        sortable: true,
        //排序方式
        sortOrder: "desc",
        sortName: 'createTm',
        //是否使用缓存
        cache: false,
        //显示隐藏列
        showColumns: false,
        //显示刷新按钮
        showRefresh: false,
        //切换显示样式
        showToggle: false,
        //显示Table脚部
        showFooter: false,
        //是否显示分页
        pagination: true,
        //是否显示分页按钮
        showPaginationSwitch: false,
        //是否启用点击选中行
        clickToSelect: false,
        singleSelect: false,
        //最少要显示的列数
        minimumCountColumns: 2,
        //cell没有值时显示
        undefinedText: '-',
        //分页方式：client客户端分页，server服务端分页
        sidePagination: "server",
        uniqueId: 'permissionGroupId',
        idField: 'permissionGroupId',
        //每页的记录行数
        pageSize: 5,
        //初始化加载第1页，默认第1页
        pageNumber: 1,
        //可供选择的每页的行数
        pageList: "[10, 20, 50]",
        //查询参数
        queryParams: queryParams,
        columns: [
            {title: '主键', field: 'taskId', visible: false},
            {title: '序号',field: 'index',align: 'left', valign: 'middle',formatter: indexFormat},
            {title: '任务名称', field: 'taskName', align: 'left', valign: 'middle'},
            {title: '任务类型', field: 'taskType', align: 'left', valign: 'middle'},
            {title: '完成率', field: 'target', align: 'left', valign: 'middle',formatter: completeRate}
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                window.location.reload();
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        }, formatNoMatches: function () {
            return '无符合条件的记录';
        }
    });
}

/**
 * 相关提醒
 */
function relatedRemindListInit(){
    $relatedRemindListTable.bootstrapTable('destroy');
    $relatedRemindListTable.bootstrapTable({
    classes: 'table table-noborder table-hover',
    url: '/remindItem/selectRelatedRemindList',
    method: 'get',
    //请求内容类型
    //contentType: "application/x-www-form-urlencoded",
    //数据类型
    //dataType: "json",
    //是否显示行间隔色
    striped: true,
    //是否启用排序
    sortable: true,
    //排序方式
    sortOrder: "desc",
    sortName: 'createTm',
    //是否使用缓存
    cache: false,
    //显示隐藏列
    showColumns: false,
    //显示刷新按钮
    showRefresh: false,
    //切换显示样式
    showToggle: false,
    //显示Table脚部
    showFooter: false,
        // smartDisplay:false,
    //是否显示分页
    pagination: true,
    //是否显示分页按钮
    showPaginationSwitch: false,
    //是否启用点击选中行
    clickToSelect: false,
    singleSelect: false,
    //最少要显示的列数
    minimumCountColumns: 2,
    //cell没有值时显示
    undefinedText: '-',
    //分页方式：client客户端分页，server服务端分页
    sidePagination: "server",
    uniqueId: 'permissionGroupId',
    idField: 'permissionGroupId',
    //每页的记录行数
    pageSize: 5,
    //初始化加载第1页，默认第1页
    pageNumber: 1,
    //可供选择的每页的行数
    pageList: [5],
    //查询参数
    queryParams: queryParams,
    columns: [
        {title: '主键', field: 'remindItemId', visible: false},
        {title: '序号',field: 'index',align: 'left', valign: 'middle',formatter: indexFormat},
        {title: '提醒内容', field: 'remindEvent', align: 'left', valign: 'middle',width: '50%',},
        {title: '设置时间', field: 'setTm', align: 'left', valign: 'middle'},
    ],
    responseHandler: function (result) {
        if (result.code == "000000") {
            var obj = {
                "rows": result.data,
                "total": result.totalRecords
            };
        } else {
            var obj = {
                "total": 0,
                "rows": [],
            }
        }
        return obj;
    },
    onLoadSuccess: function () {
        //加载成功时执行
        $("[data-toggle='tooltip']").tooltip();
    },
    onLoadError: function (status) {
        if (status == 403) {
            alert("权限不足！禁止访问！");
        } else {
            window.location.reload();
            //加载失败时执行
            alert("加载失败！");
        }
    },
    formatLoadingMessage: function () {
        return "请稍等，加载中...";
    }, formatNoMatches: function () {
        return '无符合条件的记录';
    }
});
}

function queryParams(params) {
    //搜索条件
    params.pageSize = params.limit;
    params.pageIndex = (params.offset / params.limit) + 1;
    // params.selectDate = '2021-04-27 10:25:52';
    params.selectDate = $("#timeScreen").val();
    return params;
}

function indexFormat(value, row, index) {
    return index + 1;
}

function completeRate(value, row, index) {

    return row.completed + "/" + row.target;
}



//日历按钮

function addMarks(dateStr) { // 给传进来的日期字符串加-
  return dateStr.substr(0, 4) + '-' + dateStr.substr(4, 2) + '-' + dateStr.substring(6);
};
function changingStrs(fDate) { // 字符串转日期
  var fullDate = fDate.split("-");

  return new Date(fullDate[0], fullDate[1] - 1, fullDate[2]);
};
function itemClick(e) {


  var _dates = addMarks($(e).attr('data'))
    $("#timeScreen").val(_dates)
    $todayTaskListTable.bootstrapTable('refreshOptions', {queryParams: queryParams});
    $relatedRemindListTable.bootstrapTable('refreshOptions', {queryParams: queryParams});
}

$(".more-jump").click(function () {
    parent.$(parent.document).data('multitabs').create({
        iframe:true,
        title:'合同列表',
        url:"/front/contractManager/userContractForm"
    },true)
})

//提醒弹框确认按钮
function remindSure() {

    $("#remindForm").bootstrapValidator({
        fields:{
            remindDate:{
                trigger: 'changeData',
                validators:{
                    notEmpty:{
                        message:"提醒日期不为空！"
                    }
                }
            },
            remindthing:{
                validators:{
                    notEmpty:{
                        message:"提醒事件不为空！"
                    }
                },

            }
        }
    })
    $(".sure-remind").attr("disabled",false)

    $("#remindForm").bootstrapValidator('validate');//提交验证
    if (!$("#remindForm").data('bootstrapValidator').isValid()) {//获取验证结果，如果成功，执行下面代码
        return;
    }
    $("#Addremind").modal("hide")

    var formData={
        //remindDate
        setTm:$("#remindDate").val(),
        remindEvent:$("#remindthing").val()
    }
    knowledgeAjaxPost('/remindItem/addItem',JSON.stringify(formData),'application/json;charset=utf-8').then((res)=>{
        if(res.code=='000000'){
            relatedRemindListInit()
        }
    })

}



$('#Addremind').on('hidden.bs.modal', function (){
    $(this).find('form')[0].reset()
    // $('#editor .fr-view').html('')
    $("#remindthing").val('')
    if($("#remindForm").data('bootstrapValidator')!=undefined){
        // $('#remindForm').data('bootstrapValidator')
        //     .updateStatus('remindDate', 'NOT_VALIDATED', null)
        //     .validateField('remindDate');
        $("#remindForm").data('bootstrapValidator').destroy();

        $('#remindForm').data('bootstrapValidator', null);
    }


});


function knowledgeAjaxPost(url,data,contentType) {
    var promises=new Promise((resolve, reject)=>{
        $.ajax({
            type: 'post',
            url: url,
            data: data,
            contentType:contentType,
            dataType: 'json',
            success: function (res) {
                resolve(res)
                // if(res.data!='000000'){
                //     $.alert(res.message)
                // }
                $.alert(res.message)
            },
            error: function (res) {
                reject(res)
                $.alert(res.message)
            }
        });
    })

    promises.catch(function(error) {
        $.alert(error.message)
    });

    return promises

}
